import tkinter as tk
from tkinter import scrolledtext
import random

# 错误处理函数
def e_syntax(message, filename, lineno, colno, errore):
    print('语法错误调试中！')
    print(f"错误对象的属性和方法: {errore}")


# 根据错误信息自动调试 JavaScript 代码
def debug():
    js = ide.get("1.0", tk.END)
    try:
        # 这里简单模拟 iframe 的功能，实际可以使用更复杂的代码执行环境
        # 例如使用 subprocess 调用 Node.js 等
        # 这里只是打印代码
        exec(js)
        print(f"执行的代码: {js}")
    except Exception as err:
        # 简单模拟错误处理
        if isinstance(err, SyntaxError):
            e_syntax(str(err), "", 0, 0, err)
        else:
            print(err)

# 生成式 AI，随机生成 Python 代码
def aigc():
    char = 'a=1;'
    size = 10
    arr = list(char)
    len_code = 2 + round(random.random() * size)
    js_str = ''
    rows = 0
    for i in range(len_code):
        str_char = random.choice(arr)
        if str_char == ';':
            str_char += '\n'
            rows += 1
        js_str += str_char
    ide.delete("1.0", tk.END)
    ide.insert(tk.END, js_str)

# 创建主窗口
root = tk.Tk()
root.title("编程引擎(Python)")

# 创建文本输入框
ide = scrolledtext.ScrolledText(root, width=80, height=1, wrap=tk.WORD)
ide.pack(pady=10)
ide.insert(tk.END, "请在此写入 Python 代码！")
ide.bind("<KeyRelease>", lambda event: autoHeight(ide))

# 创建按钮
button_frame = tk.Frame(root)
button_frame.pack(pady=10)

generate_button = tk.Button(button_frame, text="生成 PY 代码", command=aigc)
generate_button.pack(side=tk.LEFT, padx=5)

debug_button = tk.Button(button_frame, text="自动调试", command=debug)
debug_button.pack(side=tk.LEFT, padx=5)

# 运行主循环
root.mainloop()